www.gusucode.com > 灰色预测模型matlab或者lingo源程序例子 > 灰色预测模型matlab或者lingo源程序例子/huiseyuce/huiseyuce 1.txt
%灰色预测 clc,clear y0=[15361 12998 9975 6951 4252]; n=length(y0); %%%%%%%%%%%%%%%%%%% c=4000; x0=y0+c; %%%%%%%%%%%%%%%%%%% lamda=x0(1:n-1)./x0(2:n); range=minmax(lamda); Min_r=exp(-2/(n+1));Max_r=exp(2/(n+2)); if range(1) < Min_r || range(2) > Max_r disp('不适合灰色预测'); else end x1=cumsum(x0); for i=2:n z(i)=0.5*(x1(i)+x1(i-1)); %#ok<SAGROW> end B=[-z(2:n)',ones(n-1,1)]; Y=x0(2:n)'; u=B\Y; x=dsolve('Dx+a*x=b','x(0)=x0'); x=subs(x,{'a','b','x0'},{u(1),u(2),x1(1)}); %预测 k 个月份,自己修改其值 k = 1; yucel=subs(x,'t',0:n-1+k); digits(6),y=vpa(x); yuce=[x0(1),diff(yucel)]; %预测的结果值 jieguo=yuce-c; epsilon=y0-jieguo(1:n);%预测误差 delta=abs(epsilon./y0);%相对误差 rho=1-(1-0.5*u(1))/(1+0.5*u(1))*lamda; rou=max(rho);